草庐IT

PHP、Curl、curl_exec()、curl_close() 和 cookie

在Curl中使用PHP时,是否有必要在每次调用curl_exec()之后调用curl_close()以使cookie使用CURLOPT_COOKIEJAR和CURLOPT_COOKIEFILE选项正常运行?或者我可以多次调用curl_exec()来调用同一站点上的不同url,并且仍然保留cookie而无需在每次调用curl_close()之后调用curl_close()吗?我可以多次使用curl_exec()并在脚本末尾关闭curl_close()吗? 最佳答案 只有当你知道你已经完成了那个特定的句柄,或者如果从它的当前状态切换到一

php - 如何使用 curl + php 上传名称中包含空格的文件?

我使用此代码通过HTTPPOST将文件上传到我的服务器:$ch=curl_init();curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_VERBOSE,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_POST,true);$post=array("upload"=>'@'.$filepath);curl_setopt($ch,CURLOPT_POSTFIEL

php - 使用 PHP5 Curl 调用 Facebook Graph API。不同的服务器得到不同的响应

我有一个PHP应用程序,它使用Curl调用FacebookGraphAPI并将项目发布到用户的墙上。它在我的开发箱和我们的生产服务器上运行良好,但不适用于一台QA服务器。我们收到模糊的错误代码100:“消息失败”。据我所知,我从所有服务器发送相同的信息。这是我对开发箱的要求:Array([0]=>Accept:text/html,application/xhtml+xml,application/xml;q=0.9;q=0.8[1]=>Accept-Language:en-us,en;q=0.5[2]=>Accept-Charset:utf-8;q=0.7,*;q=0.7)POST:h

php - 使用 php cURL 发送图像

您好,我需要使用PHPcURL发送图像,尝试这样做:$this->ch=curl_init();curl_setopt($this->ch,CURLOPT_URL,$URL);$postValues=array('utf8'=>$utf8,'authenticity_token'=>$auth_token,'media_object[title]'=>'something','media_object[source]'=>'','media_object[object_type]'=>0,'media_object[image]'=>'@/home/me/images/somethin

php - 将 cURL 命令行翻译成 PHP cURL

我需要将这个cURL命令翻译成PHPcURL代码:>curl--get'https://api.twitter.com/1/followers/ids.json'--data>'cursor=-1&screen_name=somename'--header'Authorization:OAuth>oauth_consumer_key="key",oauth_nonce="nonce",>oauth_signature="signature",oauth_signature_method="HMAC-SHA1",>oauth_timestamp="timestamp",oauth_tok

带摘要的 php curl 返回两个响应

我发现了一个“奇怪的”phpCURL行为,这让我抓狂。基本上我正在做的是使用curl进行经过身份验证的摘要调用。这是我的代码的摘录:curl_setopt($this->c,CURLOPT_HTTPAUTH,CURLAUTH_DIGEST);curl_setopt($this->c,CURLOPT_USERPWD,$username.":".$password);它工作正常,服务器实际上返回了一条“是的,您提供了正确的凭据”之类的消息。唯一的麻烦是,原始的http响应有点奇怪,因为它实际上包含2个响应而不是一个。这是curl_exec($this->c)输出的内容:HTTP/1.040

Phpinfo() 不显示 curl

我在xampp/php/ext/文件夹和php.ini文件中有php_curl.dll我设置了extension=php_curl.dll(删除“;”)。我还在php.ini文件中设置了extension_dir="C:\xampp\php\extensions\"。然后我重新启动了Apache,甚至我重新启动了系统2次。但直到在Phpinfo()中,我才看不到curl。我收到类似“调用未定义函数curl_init()”之类的错误`我有PHP5.2.4版。 最佳答案 检查Apache的error_log文件。即使在您的php.ini

php - cURL 上传到 Google 云端硬盘

我可以通过json在GoogleDrive中创建文件到Drive文件夹中:$data=array("title"=>$_FILES['file']['name'],"parents"=>array(array("kind"=>"drive#parentReference","id"=>$parent_id)),"mimeType"=>"application/pdf");$data=json_encode($data);$url="https://www.googleapis.com/drive/v2/files?oauth_token=".$accessToken;$ch=curl_

PHP multi curl 在一台机器上工作,在另一台机器上失败

我正在尝试使用multicurl运行并行图像下载。我有一个简短的脚本,在我的笔记本电脑(php5.3.10-1)上运行良好,但在我的服务器(PHP5.5.3-1)上运行失败。当我在我的服务器上运行这个脚本时,正在创建目标文件(我猜curl成功打开句柄)但是文件是空的,我在我的服务器上没有看到任何警告或错误来指示任何问题.目前我正在通过CLI对其进行测试,因此php的cli的php.ini具有:error_reporting=E_ALLdisplay_errors=On这是我做的第一件事。我唯一看到的是警告:PHP警告:第0行的未知模块“PDO”已加载以下是我在网上编写/找到的原始POC

php - 有没有办法将 --compressed 传递给 PHP 的 curl_setopt()?

使用curl时,我发现我所访问的服务器的行为有所不同,这取决于我是否将--compressed作为参数传递。我已经将Accept-Encodingheader设置为gzip、deflate、sdch:curl_setopt($ch,CURLOPT_ENCODING,'gzip,deflate,sdch');我还尝试将编码设置为空字符串:''因为这应该意味着支持任何类型的压缩。但是,如果我通过命令行传递--compressed,我得到的内容类型是:gzip。如果我不传入--compressed,我得到的内容类型是text/html;charset=UTF-8使用PHP的curl_exec